package lang;

/**
 * 静态内部类的方式效果类似双检锁，但实现更简单。
 * 但这种方式只适用于静态域的情况，双检锁方式可在实例域需要延迟初始化时使用。
 *
 * 静态内部类在外部类加载的时候不会被加载，只有外部类中用到内部类时候才会被加载。
 * 由于静态内部类没有使用任何锁机制，所以性能优于双重检查实现方式。
 */
public class SingL6 {


    private SingL6() {
    }

    public static SingL6 getSingL6() {
        return InnerClass.singL6;
    }

    public static class InnerClass {
        private static final SingL6 singL6 = new SingL6();
    }
}
